package com.xinqi.modules.course.course.dto.req;

import com.xinqi.common.base.annotations.ApiQueryParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;

/**
 * 课程转让dto
 *
 * @author: wenjie
 * @date: 2023/3/19 18:32
 */
@Data
@ApiQueryParam
public class CourseTransferV2DTO implements Serializable {

    /**
     * 要转让的课程id
     */
    @NotNull(message = "课程id不能为空")
    @Schema(description = "课程id", example = "112456789")
    private Long courseId;


    /**
     * 要转让的班级id列表
     */
    @Schema(description = "要转让的班级id列表", example = "[123,456,789]")
    private List<Long> classIdList = Collections.emptyList();

    @NotBlank(message = "密码不能为空")
    @Schema(description = "用户密码", example = "xinqi123")
    private String password;

    @NotBlank(message = "手机号码不能为空")
    @Schema(description = "转让接受人的手机号码", example = "16666666666")
    private String mobile;

    @NotBlank(message = "验证码不能为空")
    @Schema(description = "转让接受人的验证码", example = "666666")
    private String smsCode;

    @Schema(title = "操作用户ID(内部流转参数，不对外)", hidden = true)
    private Long operationUserId;
}
